INSA IMT
Codes Python pour le Défi IA 2023 : 1001 nights !
Par Ima BERNADA & Ambre ROBERT

Ce notebook Jupyter ne contient que les codes et sorties python que nous avons mis en place pour notre travail dans le cadre du défi IA 2023.

La présentation et l'analyse détaillée de notre travail est contenue dans le rapport pdf nommé "BERNADA_ROBERT_rapport.pdf"

Importation des librairies

Chargement des jeux de données

Le jeu de données complet :

Jeu de données df_train ne comprenant que nos dernières requètes car permet d'obtenir de meilleurs résultats :

Notre jeu de données complet compte 977524 lignes et 14 colones (avant transformation). Le jeu de données dont nous allons nous servir dans la suite contient quant à lui 612187 lignes et 14 colones (avant transformation).

I) Analyse descriptive

A- Statistiques descriptives sur le jeu de données test

Le jeu de données test ne contient pas toutes le dates possibles. Il y a beaucoup de recherches pour des dates de 0 à 6 : il y en a 3215 ce qui représente près de la moitié du jeu de données test.

Recherche en hongrois largement majoritaire (967). \ Très peu de recherche en protuguais (70).

Amsterdam, Paris et Madrid les villes les plus présentes dans le jeu de données test.

Il y a un peu plus de recherche sur ordinateur (0) que sur téléphone (1).

Matrice de corrélation

B- Statistiques descriptives sur les données extraites

La variable prix (boxplots)

Avec date :

Avec city :

Avec language :

Avec mobile :

Avec parking :

Avec pool :

Avec children_policy :

Autres variables :

Matrice de corrélation

II) Préparation des données

Une fonction pour préparer nos données et les séparer en 2 jeux de données test et train :

III) Méthodes utilisées

1) Prix moyen par paramètre de variable catégorielle

Un premier essai en calculant le prix moyen par parmètre de variable catégorielle.

Prédictions et fichier de soumission

2) Régression linéaire

Prédiction sur X_test et calcul de la RMSE

Visualisation de la performance

Prédictions et fichier de soumission

3) Régression Lasso

Prédiction sur X_test et calcul de la RMSE

Visualisation de la performance

Prédictions et fichier de soumission

4) Régression Ridge

Prédiction sur X_test et calcul de la RMSE

Visualisation de la performance

Prédictions et fichier de soumission

5) Réseaux de neurones

Une fonction pour calculer la RMSE (root-mean-square error) :

5.1 Premier modèle

Prédiction sur X_test et calcul de la RMSE

Visualisation de la performance

Prédictions et fichier de soumission

5.2 Second modèle

Prédiction sur X_test et calcul de la RMSE

Visualisation de la performance

Prédictions et fichier de soumission

6) Arbres de décision

Prédiction sur X_test et calcul de la RMSE

Le résultat donné par la plateforme Kaggle est de 30.12 environ. Nous avons donc un gros écart entre la RMSE que nous avons calculé et celle retourné sur la plateforme.

Cet écart peut être dû à différents facteurs comme par exemple la qualité des données avec des données de test et de prédiction différentes en termes de qualité, de complexité ou de bruit. En effet, les données de test peuvent être plus proches des données d'entraînement, ce qui facilite la généralisation des résultats. \ Un autre facteur peut être le nombre d'observations dans les jeux de données. Étant donné que le jeu de données de prédiction contient un faible nombre d'observations, il est possible que cela ait entraîné une incertitude plus élevée dans les prédictions et une augmentation de l'erreur. \ Enfin, il est possible que l'écart soit dû à la précision du modèle car celui-ci est sous-ajusté ou sur-ajusté.

Visualisation de la performance

Afin d'obtenir un meilleur résultat et d'éviter les cas de sur-apprentissage et sous-apprentissage, nous ajoutons des valeurs pour les imputs min_samples_leaf et max_depth. \ On va utiliser la méthode Grid Search pour tester plusieurs combinaisons de paramètres pour optimiser notre arbre de décision.

Prédiction sur X_test et calcul de la RMSE

Visualisation de la performance

Prédictions et fichier de soumission

7) Forêts aléatoires

Prédiction sur X_test et calcul de la RMSE

Visualisation de la performance

Prédictions et fichier de soumission